#include"SList.h"

void TestSLT1()
{
	SLNode* plist = NULL;
	SLTPushBack(&plist, 1);
	SLTPushBack(&plist, 2);
	SLTPushBack(&plist, 3);
	SLTPushBack(&plist, 4);
	SLTPrint(plist);

	SLTPopBack(&plist);
	SLTPrint(plist);

	SLTPopBack(&plist);
	SLTPrint(plist);

	SLTPopBack(&plist);
	SLTPrint(plist);

	SLTPopBack(&plist);
	SLTPrint(plist);

	//SLTPopBack(&plist);
	//SLTPrint(plist);
}

// void TestSLT2()
// {
// 	SLNode* plist = NULL;
// 	SLTPushFront(&plist, 1);
// 	SLTPushFront(&plist, 2);
// 	SLTPushFront(&plist, 3);
// 	SLTPushFront(&plist, 4);
// 	SLTPrint(plist);

// 	SLTPopFront(&plist);
// 	SLTPrint(plist);


// 	//SLNode* pos = SLTFind(plist, 3);
// 	//SLTInsert(&plist, pos, 30);
// }

int main()
{
	TestSLT1();

	return 0;
}

// struct ListNode
// {
// 	struct ListNode* next;
// 	int val;
// };

// struct ListNode* removeElements(struct ListNode* head, int val)
// {
// 	struct ListNode* prev = NULL;
// 	struct ListNode* cur = head;

// 	//while(cur != NULL)
// 	while (cur)
// 	{
// 		if (cur->val == val)
// 		{
// 			struct ListNode* next = cur->next;
// 			free(cur);

// 			if (prev)
// 				prev->next = next;

// 			cur = next;
// 		}
// 		else
// 		{
// 			prev = cur;
// 			cur = cur->next;
// 		}
// 	}

// 	return head;
// }

// int main()
// {
// 	struct ListNode* n1 = (struct ListNode*)malloc(sizeof(struct ListNode));
// 	struct ListNode* n2 = (struct ListNode*)malloc(sizeof(struct ListNode));
// 	struct ListNode* n3 = (struct ListNode*)malloc(sizeof(struct ListNode));
// 	struct ListNode* n4 = (struct ListNode*)malloc(sizeof(struct ListNode));
// 	n1->val = 7;
// 	n2->val = 7;
// 	n3->val = 7;
// 	n4->val = 7;

// 	n1->next = n2;
// 	n2->next = n3;
// 	n3->next = n4;
// 	n4->next = NULL;

// 	struct ListNode* head = removeElements(n1, 7);

// 	return 0;
// }

//void Swap(int* p1, int* p2)
//{
//	int tmp = *p1;
//	*p1 = *p2;
//	*p2 = tmp;
//}
//
//// 改变的是int，传的是int*
//int main()
//{
//	int a = 0, b = 1;
//	Swap(&a, &b);
//
//	return 0;
//}

//void Swap(int** p1, int** p2)
//{
//	int tmp = *p1;
//	*p1 = *p2;
//	*p2 = tmp;
//}
//
//// 改变的是int*，传的是int**
//int main()
//{
//	int* px = NULL, * py = 0x01;
//	Swap(&px, &py);
//
//	return 0;
//}